package com.lbh.platforms.windows.structures.gdi;

import com.sun.jna.Structure;

import java.util.Arrays;
import java.util.List;

/***
 * project:JRuntime
 * package:com.lbh.platforms.windows.structures.gdi
 *
 * @author user:lenovo QQ:1601078366
 * @date 2021/10/19 0:36
 * @version V1.0
 */
@SuppressWarnings({"unused", "SpellCheckingInspection", "AlibabaClassNamingShouldBeCamel"})
public class PIXELFORMATDESCRIPTOR extends Structure {

    public static final int SIZE = 40;

    public short nSize;
    public short nVersion;
    public int dwFlags;
    public byte iPixelType;
    public byte cColorBits;
    public byte cRedBits;
    public byte cRedShift;
    public byte cGreenBits;
    public byte cGreenShift;
    public byte cBlueBits;
    public byte cBlueShift;
    public byte cAlphaBits;
    public byte cAlphaShift;
    public byte cAccumBits;
    public byte cAccumRedBits;
    public byte cAccumGreenBits;
    public byte cAccumBlueBits;
    public byte cAccumAlphaBits;
    public byte cDepthBits;
    public byte cStencilBits;
    public byte cAuxBuffers;
    public byte iLayerType;
    public byte bReserved;
    public int dwLayerMask;
    public int dwVisibleMask;
    public int dwDamageMask;

    @Override
    protected List<String> getFieldOrder() {
        return Arrays.asList("nSize", "nVersion", "dwFlags", "iPixelType", "cColorBits",
                "cRedBits", "cRedShift", "cGreenBits", "cGreenShift", "cBlueBits", "cBlueShift",
                "cAlphaBits", "cAlphaShift", "cAccumBits", "cAccumRedBits", "cAccumGreenBits",
                "cAccumBlueBits", "cAccumAlphaBits", "cDepthBits", "cStencilBits",
                "cAuxBuffers", "iLayerType", "bReserved", "dwLayerMask", "dwVisibleMask", "dwDamageMask");
    }
}
